💡 หลาย ๆ คนที่เขียน Python มาสักพักแล้ว หรือบางคนเพิ่งเริ่มเขียน อาจจะยังไม่รู้จักการใช้งาน Iterator และ Iterable กันสักเท่าไหร่ หรือบางคนอาจจะใช้งานอยู่แล้ว แต่ยังไม่รู้ความหมายของมัน…
.
🔥 วันนี้แอดมาสรุปการใช้งาน Iterator และ Iterable มาให้เพื่อน ๆ อ่าน จะได้กระจ่างกันเลยว่าทั้งสองเนี่ยมันคืออะไร ใช้งานยังไง ถ้าพร้อมแล้วไปอ่านกันเลยยยยย!!
.
Iterable - Object ที่สามารถวนซ้ำได้ (List, Tuple, และ Strings ก็เป็น Iterable)
Iterator - ตัวที่ใช้วนซ้ำ
.
ประกอบด้วย Methods ดังนี้
🔹 __iter __ () - ใช้สร้าง Iterator เพื่อวนซ้ำใน Iterable
🔹 __next __ () - ใช้ดึงข้อมูลออกจาก Iterable
.
⚙️ การใช้งาน
iter() จะทำการสร้าง Iterator เพื่อกำหนดการวนซ้ำให้กับ Iterable จากนั้น และ next() จะดึงข้อมูลใน Iterable ออกมาตามลำดับการวนซ้ำนั่นเอง
.
👨💻 ตัวอย่าง1 : ดึงค่าใน Iterable ออกมาตามลำดับ Index
fruit = ["Apple", "papaya", "banana", "orange"]
iterator = iter(fruit)
print(next(iterator))
print(next(iterator))
print(next(iterator))
print(next(iterator))
.
หากเรียกใช้ 'next(iterator_obj)' อีกครั้ง มันจะ Return 'StopIteration' ออกมา เพราะค่าถูกดึงออกมาครบแล้วนั่นเอง
.
📑 ผลลัพธ์
Apple
papaya
banana
orange
.
👨💻 ตัวอย่าง2 : ตรวจสอบค่าใน Object ที่กำหนดว่าเป็น Iterable หรือไม่
def iterable(y):
try:
iter(y)
return True
except TypeError:
return False
arr = [34, [24, 35], (44, 112), {"Prayut":250}]
for i in arr:
print(i, " is iterable : ", iterable(i))
.
📑 ผลลัพธ์
34 is iterable : False
[24, 35] is iterable : True
(44, 112) is iterable : True
{'Prayut': 250} is iterable : True
จะเห็นว่า 34 ไม่ได้เป็น Iterable นั่นเอง
.
💥 Source : https://www.geeksforgeeks.org/python-difference-iterable-iterator/
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
同時也有1部Youtube影片,追蹤數超過17萬的網紅魏巍,也在其Youtube影片中提到,記錄學習 python 語言裡面 Iterator 跟Generator 的概念。在介紹 Iterator 之前,先介紹什麼叫做 Iterable。 Iterable 是可以迭代對象,如字串或是List,經過 iter 方法處理之後,會變成 Iterator。這樣講實在很模糊,請看我的短片,裡面有詳...
python iter 在 魏巍 Youtube 的評價
記錄學習 python 語言裡面 Iterator 跟Generator 的概念。在介紹 Iterator 之前,先介紹什麼叫做 Iterable。 Iterable 是可以迭代對象,如字串或是List,經過 iter 方法處理之後,會變成 Iterator。這樣講實在很模糊,請看我的短片,裡面有詳細的解釋。
$$ 訂閱《魏巍》頻道吧~ https://bit.ly/2EIy6Rz
-----------------------------------------------------------------------------------------------------------
***** 訂閱魏巍頻道 ***** @@ ***** 跟我一起玩遊戲 *****
***** 還會分享各種有趣的短片** @@ ** 趕快去訂閱吧! *****,
-----------------------------------------------------------------------------------------------------------------------
#python #programming #魏巍
python iter 在 63 How to use Python Iterators - YouTube 的八卦
An iterator in Python is an object that adheres to the iterator protocol and contains methods like __iter__() and __next__ (). ... <看更多>